Electromagnetic simulation algorithm, in particular for an electromagnetic antenna performances

ABSTRACT

The present invention pertains to an electromagnetic simulation algorithm, which makes it possible to compute the electromagnetic wave scattered by a conductor in a monofrequency situation.  
     To this end, the invention relates to an electromagnetic simulation algorithm based an iterative solution of a system of integral equations comprising a preconditioner. This preconditioner arises in particular from adapting Calderon&#39;s formulae to the boundary integral equations of electromagnetism, also known as the Electric Field Integral Equation (EFIE). Use is also made of an original representation of the residual of the computations during each iteration. This representation, as well as a projection and a composition, are involved in the expression of said preconditioner.  
     It applies in particular to the simulation tools used during the design of reception or transmission antennas such as cellphone antennas, anti-collision radar antennas, those of electronic counter measures (ECM) systems, of monitoring or tracking radars, or satellite antennas. The invention also applies to the computation of radar cross sections (RCS) of objects whose geometrical properties are known.

[0001] The present invention pertains to an electromagnetic simulation algorithm, in particular for the performance of an antenna, which makes it possible to compute the electromagnetic wave scattered by a conductor in a monofrequency situation. It applies in particular to the simulation tools used during the design of reception or transmission antennas such as cellphone antennas, anti-collision radar antennas, those of electronic counter measures (ECM) systems, of monitoring or tracking radars, or satellite antennas. The invention also applies to the computation of radar cross sections (RCS) of objects whose geometrical properties are known.

[0002] Antenna simulations are used to limit the number of mock-ups and prototypes during the design of said antennas. These simulations make it possible in particular to compute the far-field radiation pattern of the antennas and to adapt the antennas in transmission or in reception, in the present or otherwise of a surrounding structure. As input data they use a mesh of the antenna whose performance one wishes to evaluate, as well as the characteristics of the electromagnetic excitation to which it is subject. The invention is not limited to the simulations of antennas. It applies also for example to the computations of RCSs of targets. The application of the invention within the antenna simulations, during reception, will now be described by way of illustration.

[0003] Two main methods can be distinguished within the simulations commonly employed. A first method is based on computation by finite differences, also known as the volume finite element method. According to this method, a mesh of a volume surrounding the antenna is used. A drawback of this method is that the mesh is necessarily bounded, whereas one is interested in the radiation pattern at infinity. A compromise must then be made between the dimension of the meshed volume, that is to say the accuracy of computation, and the computation time. To alleviate this drawback, a second method is used, based on integral equations within the frequency domain. According to this method, a surface mesh of the antenna only is used. The radiation pattern at infinity is computed directly from electric and magnetic currents on the surface of the antenna.

[0004] Certain known techniques using integral equations computed the electric and magnetic currents (from which the field pattern radiated at infinity is deduced) by virtue of a factorization of a matrix. This matrix is known as the interaction matrix or else the impedance matrix. This factorization allows direct computation, that is to say noniterative computation, of the surface currents. A drawback of these techniques is that the computation time is long. If N denotes the number of points involved in meshing the antenna (also termed surface triangulation), the computation time according to these techniques varies as N³. Now, the number of points N is itself related to the wavelength (and consequently the frequency) of the wave radiated by the antenna. Let us assume that a simulation is carried out at 10 GHz, by using N points in the mesh of the antenna, and that the computation time is τ. To transpose this simulation to 20 GHz, it will be necessary to use a mesh comprising 4×N points, and this will represent a computation time of the order of 4³×τ. A computation time problem arises also when one seeks to simulate complex antenna geometries, such as small-arrays. This makes these techniques unusable in particular in design tools which require a restricted computation time so as to allow the designers to carry out several tests.

[0005] Other known techniques using integral equations make it possible to reduce the computation time by virtue of an iterative solution method. If IT denotes the number of iterations, the computation time according to these techniques varies as It×N². One problem with these techniques is that nothing guarantees the convergence of the computations. Stated otherwise, antenna shapes exist for which the radiated field pattern cannot be computed with these techniques.

[0006] An aim of the invention is to alleviate the aforesaid drawbacks, and in particular to restrict the computation times.

[0007] To this end, the invention relates to an algorithm for simulating the performance of an antenna, based on iteratively solving a system of integral equations comprising a preconditioner. This preconditioner arises in particular from adapting Calderon's formulae to the boundary integral equations of electromagnetism. In particular, in the case of a completely metal antenna, a preconditioner is proposed for the equation known as the “Electric Field Integral Equation” (EFIE). Use is also made of an original representation of the residual of the computations during each iteration. This representation, as well as a projection and a composition, are involved in the expression of said preconditioner.

[0008] The invention has the following main advantages:

[0009] it converges rapidly;

[0010] it makes it possible to simulate arbitrary geometries and any excitations;

[0011] its conditioning is independent of the fineness of the mesh;

[0012] it accommodates algorithms based on the computation of an impedance matrix, by reusing said impedance matrix;

[0013] it makes it possible to deal with antennas comprising, in addition to metal, dielectric materials.

[0014] Other characteristics and advantages of the invention will become more clearly apparent in the description which follows and in the appended figures which represent:

[0015]FIG. 1, a mesh of an antenna;

[0016]FIG. 2, a sectional view of the mesh of FIG. 1;

[0017]FIG. 3, a detail of the mesh of FIG. 1, in which a vector field is represented;

[0018]FIG. 4, a functional diagram of an iterative algorithm;

[0019]FIG. 5, a trianglewise constant basis function over a mesh;

[0020]FIG. 6, a trianglewise affine and continuous basis function over a mesh;

[0021]FIGS. 7 and 8, two illustrations of the performance of the algorithm according to the invention as compared with known techniques.

[0022] Reference will now be made to FIGS. 1 and 2 which represent an exemplary antenna shape for which one seeks to determine the scattered field when the antenna is illuminated by an incident wave. Stated otherwise, one seeks to simulate an antenna during reception. The antenna taken in this example is a spherical cavity with aperture half-angle π/4. The inside radius is ⅞, the outside radius is {fraction (9/8)} (arbitrary unit of length). The surface of the antenna is denoted _({right arrow over (x)}) ₁ _(^(i)) . This surface Γ is meshed with triangles. The surface Γ is assumed to be that of a perfect conductor (the antenna) Ω− immersed in a vacuum Ω+.

[0023] In this example, the incident electromagnetic wave which illuminates the antenna is a monofrequency plane wave. This incident electromagnetic wave, of known wavenumber k^(inc), is represented by two vector fields denoted {right arrow over (E)}^(inc) and {right arrow over (H)}^(inc) corresponding respectively to the electric field and to the electric field and to the magnetic field. Of course, the invention does not apply only to plane waves. It is possible to substitute this incident wave with the field emitted by a radiating dipole for example (transmitter mode of the antenna).

[0024] One seeks to determine the electromagnetic wave scattered by the antenna at infinity, that is to say the far-field radiation pattern. This scattered electromagnetic wave is represented by two vector fields denoted {right arrow over (E)}^(dif) and {right arrow over (H)}^(dif) corresponding respectively to the electric field and to the magnetic field.

[0025] The electromagnetic field radiated at any point in space can be computed from the field of current flowing around the surface of said antenna, also referred to as electric and magnetic surface currents. The asymptotic expression at infinity for the electromagnetic field radiated is the radiation pattern which one seeks to determine. This computation, well known in electromagnetism, is recalled in the document “Integral Equation Methods in Scattering Theory” by D. Colton and R. Kress—John Wiley & Sons, New York, 1983.

[0026] The electromagnetic field satisfies Maxwell's equations within the vacuum Ω+ which may be written:

{right arrow over (curl)}({right arrow over (E)})=iωμ{right arrow over (H)}  (1)

{right arrow over (curl)}({right arrow over (H)})=−iω∈{right arrow over (E)}  (2)

[0027] The terms used in these equations represent:

[0028] {right arrow over (curl)} the curl operator

[0029] {right arrow over (E)}={right arrow over (E)}^(inc)+{right arrow over (E)}^(dif) the total electric field in complex notation:

[0030] {right arrow over (H)}={right arrow over (H)}^(inc)+{right arrow over (H)}^(dif) the total magnetic field in complex notation:

[0031] i={square root}{square root over (−1)};

[0032] ω the angular frequency of the electromagnetic wave;

[0033] μ the magnetic permeability;

[0034] ∈ the electric permitivity.

[0035] It is recalled that the wavenumber is related to the angular frequency simply by the following relation:

k=ω{square root}{square root over (μ∈)}  (3)

[0036] The electric field of the scattered electromagnetic wave {right arrow over (E)}^(dif) is expressed at any point B of Ω+ on the basis of the surface currents denoted {right arrow over (u)} by the following relations: $\begin{matrix} {{{\overset{\rightarrow}{E}}^{dif}(B)} = {{k{\int\limits_{A \in \quad \Gamma}{{G_{k}\left( {A,B} \right)}{\overset{\rightarrow}{u}\quad(A)}{S_{A}}}}} + {\frac{1}{k}{{\overset{\rightarrow}{grad}}_{B}\left( {\int\limits_{A \in \quad \Gamma}{{G_{k}\left( {A,B} \right)}{{div}_{A}\left( \overset{\rightarrow}{u} \right)}{S_{A}}}} \right)}}}} & (4) \\ {{G_{k}\left( {A,B} \right)} = {\frac{1}{4\pi}\frac{e^{{lk}\quad {AB}}}{AB}}} & (5) \end{matrix}$

[0037] The terms of the relations (4) and (5) represent:

[0038] div_(A) ({right arrow over (u)}) the divergence taken at a point A of the vector field {right arrow over (u)};

[0039] {right arrow over (grad)}_(B) the gradient taken at a point B;

[0040] dS_(A) a differential surface element;

[0041] G_(k) the standard Green's function;

[0042] AB the distance between the points A and B;

[0043] k the norm of the wavenumber defined by relation (3).

[0044] A person skilled in the art will be able to investigate other technical elements relating to this computation in the abovementioned document insofar as the latter forms an integral part of the description.

[0045] The computation of the surface currents, that is to say of the vector field {right arrow over (u)}, is determined from the following variational equation:

∀{right arrow over (v)}m({right arrow over (u)},{right arrow over (v)})=l({right arrow over (v)})  (6)

[0046] in which $\begin{matrix} {{{m\left( {\overset{\rightarrow}{u},\overset{\rightarrow}{v}} \right)} = {{k{\int{\int\limits_{\underset{B \in \quad \Gamma}{A \in \quad \Gamma}}\quad {{G_{k}\left( {A,B} \right)}{{\overset{\rightarrow}{u}(A)} \cdot {\overset{\rightarrow}{v}(B)}}{S_{A}}{S_{B}}}}}} - {\frac{1}{k}{\int{\int\limits_{\underset{B \in \quad \Gamma}{A \in \quad \Gamma}}\quad {{G_{k}\left( {A,B} \right)}{{div}_{A}\left( \overset{\rightarrow}{u} \right)}{{div}_{B}\left( \overset{\rightarrow}{v} \right)}{S_{A}}{S_{B}}}}}}}}{and}} & (7) \\ {{I\left( \overset{\rightarrow}{v} \right)} = {- \quad {\int\limits_{A \in \quad \Gamma}{{{{\overset{\rightarrow}{E}}^{inc}(A)} \cdot {\overset{\rightarrow}{v}(A)}}{S_{A}}}}}} & (8) \end{matrix}$

[0047] This variational equation (6) is known as the boundary integral equation of electromagnetism, or else the “Electric Field Integral Equation” (EFIE).

[0048] In order to solve this variational equation (6) in a numerical antenna simulation, we must approximate the solution {right arrow over (u)} in a space of finite dimension, the so-called discretization space. This space contains vector fields which represent surface currents. The dimension this space is the number of components required to fully describe said vector field, at every point of the surface Γ. This surface being meshed, the number of components serving to describe {right arrow over (u)} will depend in particular on the number of points of the mesh N, as well as the nature of the basis functions serving to described the vector field (for example, linear functions or functions of degree 2). In the subsequent description, we shall by way of illustration take the Raviart-Thomas space of lowest degree over the mesh of Γ. This discretization space, which represents surface currents, is denoted Dh. The symbol h represents the characteristic length of the mesh, or else the accuracy of the meshing. Specifically, the dimension number of this space Dh depends on the number of points N of the mesh, which itself depends on the accuracy h of the meshing.

[0049] Reference is now made to FIG. 3 to describe a basis of the space Dh. In this basis, the surface current field {right arrow over (u)} is represented by the coefficients of a vector denoted U.

[0050] The basis of the space of surface currents contains elements denoted by {right arrow over (φ)}_(i) where i is an integer index associated with an edge of the mesh of the surface Γ. These elements are vector fields defined over the mesh of the surface Γ. The vector field {right arrow over (φ)}_(i), represented by arrows in FIG. 3, has a support bounded to two triangles T₁ and T₂ of the mesh. These triangles T₁ and T₂ share the edge of index i and of length l_(i). This edge is oriented by a vector of unit norm denoted by {right arrow over (y)}_(i). P₁ denotes the vertex of the triangle T₁ not contained on the edge i; P₂ denotes the vertex of the triangle T₁ not contained on the edge i; P₂ denotes the vertex of the triangle T₂ not contained on the edge i. S₁ and S₂ denote the surface areas of the triangles T₁ and T₂. Let {right arrow over (z)}₂ and {right arrow over (z)}₂ be the vectors with unit norm, having a direction normal to the surface of the triangles T₁ and T₂, and oriented from the interior Ω− to the exterior Ω+. We define the vectors {right arrow over (x)}₁ ^(i) and {right arrow over (x)}₂ ^(i) to be the vectors with unit norms such that the triple ({right arrow over (x)}₁ ^(i),{right arrow over (y)}_(i),{right arrow over (z)}₁) and the triple ({right arrow over (x)}₂ ^(i),{right arrow over (y)}_(i),{right arrow over (z)}₂) are right-handed trihedral. We define the vector field {right arrow over (φ)}_(i), for any point A belonging to the surface Γ with the following relations: $\begin{matrix} {{{\bullet \quad {if}\quad A} \in T_{1}},{{{{\overset{\rightarrow}{\phi}}_{i}(A)} = {{{\pm \frac{l_{i}}{S_{1}}}\overset{\rightarrow}{P_{1}A}\quad {with}\quad {{{\overset{\rightarrow}{\phi}}_{i}(A)} \cdot {\overset{\rightarrow}{x}}_{1}^{i}}} > 0}};}} & (9) \\ {{{\bullet \quad {if}\quad A} \in T_{2}},{{{{\overset{\rightarrow}{\phi}}_{i}(A)} = {{{\pm \frac{l_{i}}{S_{2}}}\overset{\rightarrow}{P_{2}A}\quad {with}\quad {{{\overset{\rightarrow}{\phi}}_{i}(A)} \cdot {\overset{\rightarrow}{x}}_{2}^{i}}} > 0}};}} & (10) \\ {{\bullet \quad {otherwise}}\quad,\quad {{{\overset{\rightarrow}{\phi}}_{i}(A)} = {\overset{\_}{0}.}}} & (11) \end{matrix}$

 otherwise, {right arrow over (φ)}_(i)(A)={right arrow over (0)}.  (11)

[0051] Such a basis of the space of currents is known as the usual basis of the Raviart-Thomas space—or else Rao-Wilton-Glisson elementary currents. A person skilled in the art will be able to investigate other technical elements in “Electromagnetic scattering by surfaces of arbitrary shape” by S. S. M. Rao, D. R. Wilton and A. W. Glisson—IEEE Trans. Ant. Prop. AP-30, pp. 409-418, 1982—insofar as this documents forms an integral part of the description.

[0052] U_(i) denotes the coefficients of the vector U. The vector field {right arrow over (u)}(A) used in relation (4) decomposes over the usual basis of the Raviart-Thomas space in the following manner: $\begin{matrix} {{\overset{\rightarrow}{u}(A)} = {\sum\limits_{i}{U_{i}{{\overset{\rightarrow}{\phi}}_{i}(A)}}}} & (12) \end{matrix}$

[0053] We now transpose relations (6), (7) and (8) into matrix notation by using the basis ({right arrow over (φ)}_(i)) described above. The variational equation (6) can be written in the form of the following system of linear equations:

MU=L  (13)

[0054] The terms of relation (13) are as follows:

[0055] M is a known matrix, the so-called interaction matrix or impedance matrix;

[0056] L is a known vector, whose coefficients represent the incident wave, that is to say the electromagnetic excitation;

[0057] U is the vector which we seek to determine, whose coefficients represent the surface currents.

[0058] We define the coefficients M_(ij) of the interaction matrix M and the coefficients L_(i) of the vector L representing the incident wave by the following relations: $\begin{matrix} {M_{ij} = {{k{\int{\int\limits_{\underset{B \in \quad \Gamma}{A \in \quad \Gamma}}\quad {{G_{k}\left( {A,B} \right)}\left( {{{\overset{\rightarrow}{\phi}}_{i}(A)} \cdot {{\overset{\rightarrow}{\phi}}_{j}(B)}} \right){S_{A}}{S_{B}}}}}} - {\frac{1}{k}{\int{\int\limits_{\underset{B \in \quad \Gamma}{A \in \quad \Gamma}}\quad {{G_{k}\left( {A,B} \right)}{{div}_{A}\left( {\overset{\rightarrow}{\phi}}_{i} \right)}{{div}_{B}\left( {\overset{\rightarrow}{\phi}}_{j} \right)}{S_{A}}{S_{B}}}}}}}} & (14) \end{matrix}$

$\begin{matrix} {L_{i} = {\int\limits_{A \in \quad \Gamma}{\left( {{{\overset{\rightarrow}{E}}^{inc}(A)} \cdot {{\overset{\rightarrow}{\phi}}_{i}(A)}} \right){S_{A}}}}} & (15) \end{matrix}$

[0059] A person skilled in the art will be able to investigate other technical elements relating to the computation of these coefficients in “Approximation par éléments finis de surface de problèmes de divergence des ondes électromagnétiques [Finite surface element approximation of electromagnetic wave diffraction problems ]” by A. Bendali—Thesis of the University of Paris VI, 1984—insofar as this document forms an integral part of the description.

[0060] Reference is now made to FIG. 4 wherein is illustrated an iterative algorithm for solving the system of linear equations (13) based on the conjugate gradient technique. It should be noted that the preconditioning technique which we illustrate in the case of the conjugate gradient algorithm applies equally well to other iterative algorithms. Mention may be made in particular of the Generalized Minimum Residual (GMRES) algorithm, Bi Conjugate gradient (BiCG) algorithm, Quasi-Minimal Residual (QMR) algorithm and the BiConjugate Gradient Stabilized (Bi-CGSTAB) algorithm. A person skilled in the art will be able to investigate other technical elements regarding iterative methods in “Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods” by R. Barrett, M. Berry, T. F. Chan, J. Demmel, J. Donate, J. Dongarra, V. Elijkhout, R. Pozi, C. Romine and H. Van der Vorst—SIAM (1994), Philadelphia, Pa.—insofar as this document forms an integral part of the description.

[0061]FIG. 4 illustrates an algorithm 40 which takes as input the matrix M and vector L of equation (13) and gives as output the vector U. A person skilled in the art will be able to investigate other technical elements relating to the solving of systems of linear equations in “Iterative Methods for Linear and Nonlinear Equations” by C. T. Kelley—SIAM Frontiers in Applied Mathematics, Philadelphia, 1995—insofar as this document forms an integral part of the description.

[0062] A first initialization step 41 makes it possible to initialize four series of vectors denoted U[n], R[n], S[n] and P[n] where N is an integer. The first series U[n] is an approximate solution which converges to the sought-after solution U. The second series R[n], known as the residual, converges to the zero vector. The third series S[n], dubbed the preconditioned residual, also converges to the zero vector. The last series P[n] is known as the search direction. The first values of these series are defined by the following relations:

U[ 0]=0  (16)

R[0]=L−MU[0]  (17)

S[0]=ZR[0]  (18)

P[0]=S[0]  (19)

[0063] Relation (16) is used by default when no approximate solution is known. A variant of this relation consists in taking U[0] to be the result of a surface current computation carried out for one and the same antenna but at another frequency.

[0064] The term Z in relation (18) is a matrix. This matrix is a preconditioner for the matrix M according to the invention. It is recalled that a preconditioner of M is a matrix approximating the inverse of M. According to one variant, the preconditioner Z can be replaced by the identity. Stated otherwise, S[0] can be initialized with R[0].

[0065] A second iteration step 42 makes it possible to compute the values of the aforesaid series at a rank n+1 from the terms of rank n. This iteration step uses the following relations:

U[n+1]=U[n]+αP[n]  (20)

R[n+1]=R[n]−αMP[n]  (21)

S[n+1]=ZR[n+1]  (22)

[0066] $\begin{matrix} {{P\left\lbrack {n + 1} \right\rbrack} = {{S\left\lbrack {n + 1} \right\rbrack} + {\frac{\langle{{R\left\lbrack {n + 1} \right\rbrack},{S\left\lbrack {n + 1} \right\rbrack}}\rangle}{\langle{{R\lbrack n\rbrack},{S\lbrack n\rbrack}}\rangle}{P\lbrack n\rbrack}}}} & (23) \end{matrix}$

[0067] with $\begin{matrix} {\alpha = \frac{\langle{{R\lbrack n\rbrack},{S\lbrack n\rbrack}}\rangle}{\langle{{{MP}\lbrack n\rbrack},{P\lbrack n\rbrack}}\rangle}} & (24) \end{matrix}$

[0068] where <,> represents the complex scalar product in matrix notation.

[0069] A last step 43 carries out a convergence test. This test can be expressed for example by the following inequality: $\begin{matrix} {\frac{{R\lbrack n\rbrack}}{{R\lbrack o\rbrack}} \leq \eta} & (25) \end{matrix}$

[0070] where η is a predetermined threshold. Stated otherwise, the normalized preconditioned residual is compared against the a predetermined threshold η. When the inequality (25) holds, the computation is halted and we take U=U[n] as solution. In the converse case, the value of n is incremented and we return to step 42.

[0071] Of course, it is possible to use another convergence test to stop the iterations. It is for example possible to replace the inequality (25) by the following inequality: $\begin{matrix} {\frac{{S\lbrack n\rbrack}}{{S\lbrack o\rbrack}} \leq \eta} & (26) \end{matrix}$

[0072] The conjugate gradient algorithm in the contemporary techniques is used without a preconditioner, that is to say with the matrix Z equal to the identity.

[0073] The invention consists in using a preconditioner based on a generalization of a formula of Calderon. A person skilled in the art will be able to investigate technical elements regarding this formula of Calderon in “Mathematical Methods in Electromagnetism, Linear Theory and Applications” by M. Cessenat—World Scientific Publishing Co., page 89, 1996—insofar as this document forms an integral part of the description. This formula may be written:

JMJM+JRJR=¼I  (27)

[0074] In this relation (27), M, J and R are three operators over the fields of tangent vectors, that is to say mappings which associate with a field of tangent vectors another field of tangent vectors, and I is the identity mapping. J is the operator of scalar product with the normal to the surface of the antenna, and M is the operator associated with the interaction matrix for which we seek a preconditioner. The operators M, J and R are defined formally by the following relations: $\begin{matrix} {{\left( {\quad \overset{\rightarrow}{u}} \right)(B)} = \left\lbrack {{k{\int\limits_{A \in \Gamma}{{G_{k}\left( {A,B} \right)}{\overset{\rightarrow}{u}(A)}\quad {S_{A}}}}} + {\frac{1}{k}{\overset{\rightarrow}{{grad}_{B}}\left( {\int\limits_{A \in \Gamma}{{G_{k}\left( {A,B} \right)}{{div}_{A}\left( \overset{\rightarrow}{u} \right)}\quad {S_{A}}}} \right)}}} \right\rbrack_{t}} & (28) \end{matrix}$

 (J{right arrow over (u)})(B)={right arrow over (u)}(B)^ {right arrow over (z)}(B)  (29)

[0075] $\begin{matrix} {{\left( {\quad \overset{\rightarrow}{u}} \right)(B)} = {\int\limits_{A \in \Gamma}{{{\overset{\rightarrow}{{grad}_{B}}\left( {G_{k}\left( {A,B} \right)} \right)}\bigwedge{\overset{\rightarrow}{u}(A)}}\quad {S_{A}}}}} & (30) \end{matrix}$

[0076] In relations (28), (29) and (30), M{right arrow over (u)}, J{right arrow over (u)}, R{right arrow over (u)} and {right arrow over (u)} are tangent vector fields. The index t in relation (28) represents the tangential component of the vector between square brackets. B is a point of the surface Γ. {right arrow over (z)}(B) is a unit vector, normal to the surface Γ at B and oriented outward.

[0077] The Applicant has found that the operator J R J R being compact, that is to say negligible, the operator 4 J M J is approximately an inverse of the operator M. Next, the preconditioner being defined to within a multiplicative constant, it is possible to eliminate constant 4. Knowing that J⋆=−J, the preconditioner according to the invention is defined from J⋆ M J. It is recalled that J⋆ is the operator adjoint to J, that is to say the operator satisfying the following relation:

∫J⋆{right arrow over (u)}·{right arrow over (v)}=∫{right arrow over (u)}·J{right arrow over (v)}  (31)

[0078] The preconditioner according to the invention is a matrix formulation of the operator J⋆ M J. It is in this matrix formulation that the advantage of using the operator J⋆ M J rather than the operator J M J appears. Specifically, the matrix formulation Z of the operator J⋆ M J is a symmetric matrix, this being essential for iterative algorithms, such as the conjugate gradient.

[0079] An exemplary preconditioner according to the invention which makes it possible to speed up the convergence of the algorithm and also to render this algorithm more stable (we always converge to the solution regardless of the initial conditions) will now be described. This preconditioner is adapted to electromagnetic problems and exploits the structure of the problem to be solved.

[0080] We firstly define spaces and their assocated bases which will serve subsequently in the description. We have already defined the basis ({right arrow over (φ)}_(i)). The space spanned by this basis, Dh, is a space of tangent vector fields. Stated otherwise, Dh is a set of functions which with any point of Γ associate a vector tangent to the meshed surface Γ. We also define two function spaces Ch and Sh. The functions of these spaces associate a scalar value with each point of Γ.

[0081] Ch is the set of trianglewise constant functions, that is to say those whose value is constant for any point belonging to a given triangle. The basis of Ch which we use subsequently is the set of functions denoted Ψi, which equal 1 on the triangle of index i and 0 outside. Reference is made to FIG. 5 in which a basis function Ψ_(i) is represented. A plain, regular mesh 50 has been represented for the sake of clarity. The values of the function Ψ_(i) are represented on an axis 51, perpendicular to the mesh 50. The function Ψ_(i) represented in this figure equals 1 on the triangle i and 0 outside.

[0082] Sh is the set of trianglewise affine continuous functions. These functions have a constant gradient over any given triangle. The basis of Sh which we use subsequently is the set of functions denoted θ_(i), which equal 1 at the node of index i and 0 on the other nodes. Reference is made to FIG. 6 in which a basis function θ₁ is represented. A plain, regular mesh 60 has been represented for the sake of clarity. The values of the function θ_(i) are represented on an axis 61, perpendicular to the mesh 60. The function θ_(i) represented in this figure trianglewise is affine and equals 1 at node i. This function has a support (non-zero values) bounded at the triangles 62, 63, 64, 65, 66, 67 which have a vertex coinciding with node i.

[0083] A person skilled in the art will be able to investigate further technical elements in “Handbook of Numerical Analysis Vol. II, Finite Elements Methods (Part 1)” by P. G. Ciarlet—Ed. J. L. Lions, North-Holland, 1991—insofar as this document forms an integral part of the description.

[0084] We shall now define matrices which will serve in the subsequent description of the preconditioner. These matrices are based on the bases defined above. They are expressed by the following relations: $\begin{matrix} {{M1}_{ij} = {\int\limits_{A \in \quad \Gamma}{{{{\overset{\rightarrow}{\phi}}_{i}(A)} \cdot {{\overset{\rightarrow}{\phi}}_{j}(A)}}{S_{A}}}}} & (32) \\ {{M2}_{ij} = {\int\limits_{A \in \quad \Gamma}{{\psi_{j}(A)}{{div}_{A}\left( {\overset{\rightarrow}{\phi}}_{i} \right)}{S_{A}}}}} & (33) \\ {{\left. {{M3}_{ij} = {{\underset{A \in \quad \Gamma}{\int(}}^{\quad}{{{\overset{\rightarrow}{\phi}}_{j}(A)}\bigwedge{\overset{\rightarrow}{z}(A)}}}} \right) \cdot {{\overset{\rightarrow}{\phi}}_{i}(A)}}{S_{A}}} & (34) \end{matrix}$

[0085] where {right arrow over (z)}(A) is a vector with unit norm, normal to the surface Γ at the point A and oriented outward. $\begin{matrix} {{M4}_{ij} = {\int\limits_{A \in \quad \Gamma}{{\psi_{j}(A)}{\theta_{i}(A)}{S_{A}}}}} & (35) \\ {{M5}_{ij} = {\int\limits_{A \in \quad \Gamma}{{\theta_{j}(A)}{\theta_{i}(A)}{S_{A}}}}} & (36) \end{matrix}$

 M 6 _(ij)=({right arrow over (rot)}(θ_(j)))_(φ) _(i)   (37)

[0086] The steps which make it possible to compute the preconditioned residual from the residual in relations (18) and (22) is now described. These relations use the preconditioner Z which is now described. In the description which follows, we give a decomposition of this matrix Z into a product of matrices. The matrices involved in this product are sparse matrices or inverse sparse matrices. Thus, according to an advantageous variant of the invention, use will preferably be made of sparse matrices rather than the matrix Z directly, thereby making it possible in particular to reduce the memory used and the computation time.

[0087] We now denote by R the residual and S the preconditioned residual. R corresponds respectively to R[0] and to R[n+1] in relations (18) and (22). S corresponds respectively to S[0] and to S[n+1] in relations (18) and (22).

[0088] A first step consists in using a mixed representation. This step will be better understood with the aid of the vector notations which will then be transposed into matrix notations. The residual R corresponds to a bilinear form over the space Dh defined above. This bilinear form is denoted ρ. We represent ρ by a vector field {right arrow over (r)}1 in Dh of zero divergence and a function q1 in Ch of zero integral. The field {right arrow over (r)}1 and the function q1 are defined by the following relation for any vector field {right arrow over (v)} in Dh: $\begin{matrix} {{{\int\limits_{A \in \quad \Gamma}\quad {{{\overset{\rightarrow}{r1}(A)} \cdot {\overset{\rightarrow}{v}(A)}}{S_{A}}}} + {\int\limits_{A \in \quad \Gamma}\quad {{{q1}(A)}{{div}_{A}\left( \overset{\rightarrow}{v} \right)}{S_{A}}}}} = {\rho \left( \overset{\rightarrow}{v} \right)}} & (38) \end{matrix}$

[0089] The vector field {right arrow over (r)}1 having zero divergence, we can write for any function f in Ch and of zero integral: $\begin{matrix} {{\int\limits_{A \in \quad \Gamma}\quad {{f(A)}{{div}_{A}\left( \overset{\rightarrow}{r1} \right)}{S_{A}}}} = 0} & (39) \end{matrix}$

[0090] Subsequently, so as not to needlessly complicate the presentation, we shall not repeat that the scalar fields considered are of zero integral.

[0091] Relations (38) and (39) are transposed in matrix fashion as follows: $\begin{matrix} {{\begin{pmatrix} {M1} & {M2} \\ {\quad^{t}{M2}} & 0 \end{pmatrix}\begin{pmatrix} {R1} \\ {Q1} \end{pmatrix}} = \begin{pmatrix} R \\ 0 \end{pmatrix}} & (40) \end{matrix}$

[0092] In relation (40), we have used a blockwise matrix notation in which:

[0093]^(t)M2 is the matrix transposed from M2;

[0094] 0 is a zero block (vector or matrix);

[0095] R1 is the matrix representation of {right arrow over (r)}1;

[0096] Q1 is the matrix representation of q1.

[0097] We recall that it is not necessary to invert the blockwise defined matrix in order to determine R1 and Q1 from R. Specifically, this matrix is a sparse matrix, that is to say one which contains many zero terms. The procedure for solving such a system is well known to a person skilled in the art. It is recalled in “Handbook of Numerical Analysis Vol. II, Mixed and hybrid methods” pp 523-640 by J. E. Roberts et J. -M. Thomas—Ed. J. L. Lions, North-Holland, 1991. This document forms an integral part of the description.

[0098] A second step consists in projecting {right arrow over (r)}1 and q1. These projections are manifested by the following relations in vector notation:

{right arrow over (r 2)}=p _(Dh)({right arrow over (r 1)}^ {right arrow over (z)})  (41)

q 2=p _(Sh)(q 1)  (42)

[0099] where:

[0100]^(P) _(Dh) is the projection operator in Dh;

[0101]^(P) _(sh) is the projection operator in Sh;

[0102] {right arrow over (z)} is a unit vector, normal to Γ and oriented outward.

[0103] These projections defined by relations (41) and (42) are manifested in matrix fashion by: $\begin{matrix} {{\begin{pmatrix} {M1} & 0 \\ 0 & {M5} \end{pmatrix}\begin{pmatrix} {R2} \\ {Q2} \end{pmatrix}} = \begin{pmatrix} {M3} & {R1} \\ {M4} & {Q1} \end{pmatrix}} & (43) \end{matrix}$

[0104] The solution procedure for relation (43) is similar to the solution procedure for relation (40) insofar as the matrices M1 and M5 are sparse matrices. It may be noted that this solution procedure is even easier than that for relation (40) insofar as the matrices M1 and M5 are moreover symmetric, positive definite and well-conditioned. We thus determine {right arrow over (R2)} and {right arrow over (Q2)} from R1 and Q1.

[0105] A third step consists in combining {right arrow over (r2)} and q2 using the following relation:

{right arrow over (r 3)}={right arrow over (r 2)}−{right arrow over (curl)}(q 2)  (44)

[0106] This third step is manifested in matrix fashion by:

R 3=R 2−M 6 Q 2  (45)

[0107] We call J the vector mapping which results from the composition of the three steps described above. This mapping is defined by:

j({right arrow over (r)})={right arrow over (r 3)}  (46)

[0108] This relation (46) transposes in matrix notations to:

JR=R 3  (47)

[0109] where J denotes the matrix corresponding to the vector mapping J, the matrix J being defined by the following product: $\begin{matrix} {J = {\left( {1 - {M6}} \right)\begin{pmatrix} {M1} & 0 \\ 0 & {M5} \end{pmatrix}^{- 1}\begin{pmatrix} {M3} & 0 \\ 0 & {M4} \end{pmatrix}\begin{pmatrix} {M1} & {M2} \\ {\quad^{t}{M2}} & 0 \end{pmatrix}^{- 1}\begin{pmatrix} 1 \\ 0 \end{pmatrix}}} & (48) \end{matrix}$

[0110] It is not of course necessary to compute J directly, since the decomposition (48) into a product of sparse matrices and of inverses of sparse matrices is simpler to use. Stated otherwise, the matrix J is computed implicitly during its use.

[0111] We denote by Z the vector mapping which corresponds to the matrix of the preconditioner Z. The preconditioner Z is defined via the vector mapping J by:

z=j*o{circumflex over (m)}oj  (49)

[0112] where

[0113] j* is the adjoint of j;

[0114] o is the composition operator for composing mappings;

[0115] {circumflex over (m)} is the linear mapping Dh→Dh* associated with the bilinear form m.

[0116] Relation (42) is manifested in matrix fashion by:

Z= ^(t) JMJ  (50)

[0117] Reference is now made to FIGS. 7 and 8 in which the performance of an algorithm with a preconditioner according to the invention is illustrated in comparison with the known techniques not using a preconditioner.

[0118] In FIG. 7, the curve 70 represents the function $\left. n\mapsto{\log_{10}\left( \frac{{S\lbrack n\rbrack}}{{S\lbrack 0\rbrack}} \right)} \right.$

[0119] in the absence of a preconditioner. The curve 71 represents the function $\left. n\mapsto{\log_{10}\left( \frac{{S\quad\lbrack n\rbrack}}{{S\quad\lbrack 0\rbrack}} \right)} \right.$

[0120] in the presence of the preconditioner described above.

[0121] In FIG. 8, the curve 80 represents the function $\left. n\mapsto{\log_{10}\left( \frac{{R\quad\lbrack n\rbrack}}{{R\quad\lbrack 0\rbrack}} \right)} \right.$

[0122] in the absence of a preconditioner. The curve 81 represents the function $\left. n\mapsto{\log_{10}\left( \frac{{R\quad\lbrack n\rbrack}}{{R\quad\lbrack 0\rbrack}} \right)} \right.$

[0123] in the presence of the preconditioner described above.

[0124] It is found that if a conventional convergence criterion η=10⁻⁴ is taken in relation (25), 50 iterations are sufficient with the preconditioner. With a nonpreconditioned algorithm, a sufficient accuracy is not reached in 200 iterations.

[0125] These numerical simulations have made it possible to show that the use of a preconditioner according to the invention makes it possible to speed up and to stabilize the iterative algorithms.

[0126] Of course, the invention is not limited to the example used to describe it. It is possible in particular to use other basis functions or a different mesh from those taken by way of example.

[0127] The invention generalizes to any other discretization of the space Dh. If we take a space other than the Raviart-Thomas space for Dh, then the spaces Ch and Sh are replaced respectively by:

Ch={div({right arrow over (u)})|{right arrow over (u)}∈Dh}+1  (51)

Sh={{right arrow over (p)}|{right arrow over (curl)}({right arrow over (p)})∈Dh}  (52)

[0128] Stated otherwise,

[0129] Ch is a minimal finite element space such that the divergence of the elements of Dh lies in Ch;

[0130] Sh is a maximal finite element space such that the curl of the elements of Sh lies in Dh.

[0131] A main application of the invention is found in antenna design tools, but the invention is not limited to this application alone. The invention applies also of course to any simulation tool based on the computation of the field radiated by a conductor. Mention may be made in particular of the computation of radar cross sections (RCS) of objects whose geometrical properties are known.

[0132] It should be also be noted that the preconditioning technique described in cases of an iterative method also applies to other fast numerical methods. These fast methods are based on an iterative solution procedure, but only the terms which are useful to the matrix-vector products are computed. Thus, of the order of N×log(N) elements of the impedance matrix are computed, instead of N² elements according to the conventional iterative techniques. Stated otherwise, the impedance matrix is computed implicitly. The use of the preconditioner according to the invention in these fast methods is achieved without difficulty. These methods are beneficial in respect of objects of large size, that is to say for N large. Such is the case in particular for so-called on-structure antenna simulations. Mention may be made in particular of the Multilevel Multipole Methods (or Fast Multilevel Multipole Methods) (FMM) and the Adaptive Integral Methods (AIM). A person skilled in the art will be able to investigate technical elements regarding:

[0133] fast methods in general in “Fast Solution Methods In Electromagnetics” by W. C. Chew, J. -M. Jin, C. -C. Lu, E. Michielssen, J. M. Song—IEEE Trans. on Antennas and Propagation, 45(3):533-543, March 1997;

[0134] Multilevel Multipole Methods in “Multilevel Fast Multipole Algorithm For Electromagnetic Scattering By Large Complex Objects” by J. M. Song, C. -C. Lu, W. C. Chew, S. W. Lee—IEEE Trans on Antennas and Propagation, 45(10):1488-1493, October 1997;

[0135] Adaptive Integral Methods in “AIM: Adaptative Integral Method for Solving Large Scale Electromagnetic Scattering And Radiation Problems” by E. Bleszynski, M. Bleszynski, T. Jaroszewicz—Radio Science, 31(5):1225-1251, 1996;

[0136] insofar as these documents form an integral part of the description.

[0137] The invention extends without difficulty to objects (antennas or targets) comprising dielectric materials. In this case, equivalent electric and magnetic currents are sought on each interface. The interaction matrix between these currents comprises diagonal blocks of the same type as the matrix M described above. A preconditioner for the interaction matrix is therefore obtained by considering the blockwise diagonal matrix, whose blocks are of the type of the matrix Z described above. 

1. An electromagnetic simulation algorithm, for determining the electromagnetic wave scattered by a body in a monofrequency situation, from a meshing of said body and from the electromagnetic excitation, characterized in that it comprises at least: (a) a determination of a matrix M, the so-called interaction matrix, whose coefficients are determined from the meshing of said body; (b) a determination of a preconditioner Z of the matrix M, this preconditioner being the matrix formulation of the operator J⋆ M J where M is the operator associated with M, J the operator vector product with the normal to the surface of said body and J⋆ the operator adjoined to J; (b) a determination of the currents which flow around the surface of said body, through an iterative algorithm of conjugate gradient type using said preconditioner Z, the iterative algorithm making it possible to solve an equation, the so-called boundary integral equation of electromagnetism, written in matrix form in the following manner: MU=L  where U is a vector which we seek to determine, whose coefficients represent the surface currents, and L is a known vector, whose coefficients represent the electromagnetic excitation; (c) a determination of the wave scattered by said body, from said surface currents.
 2. The electromagnetic simulation algorithm as claimed in claim 1, characterized in that the coefficients of the vector U are expressed in the usual basis of the Raviart-Thomas space.
 3. The electromagnetic simulation algorithm as claimed in one of the preceding claims, characterized in that the preconditioner Z is determined implicitly
 4. The electromagnetic simulation algorithm as claimed in one of the preceding claims, characterized in that the preconditioner Z is defined by the following relation: Z= ^(t) JMJ where J is a matrix formulation of the operator J and ^(t)J the transposed matrix of J.
 5. The electromagnetic simulation algorithm as claimed in claim 4, characterized in that the matrix J is defined by the following relation: $J = \left( {\begin{matrix} 1 & \left. {- {M6}}\quad \right) \end{matrix}\begin{pmatrix} {M1} & 0 \\ 0 & {M5} \end{pmatrix}^{- 1}\begin{pmatrix} {M3} & 0 \\ 0 & {M4} \end{pmatrix}\begin{pmatrix} {M1} & {M2} \\ {\,^{1}{M2}} & 0 \end{pmatrix}^{- 1}\begin{pmatrix} 1 \\ 0 \end{pmatrix}} \right.$

where ${M1}_{ij} = {\int_{A \in \Gamma}{{{{\overset{\_}{\phi}}_{i}(A)} \cdot {{\overset{\_}{\phi}}_{j}(A)}}{S_{A}}}}$ ${M2}_{ij} = {\int_{A \in \Gamma}{{\psi_{j}(A)}d\quad i\quad {v_{A}\left( {\overset{\_}{\phi}}_{i} \right)}{S_{A}}}}$ ${M3}_{ij} = {\int_{A \in \Gamma}{{\left( {{{\overset{\_}{\phi}}_{j}(A)}\bigwedge{\overset{\rightarrow}{z}(A)}} \right) \cdot {{\overset{\_}{\phi}}_{i}(A)}}{S_{A}}}}$ M4_(ij) = ∫_(A ∈ Γ)ψ_(j)(A)θ_(i)(A)S_(A) M5_(ij) = ∫_(A ∈ Γ)θ_(j)(A)θ_(i)(A)S_(A) ${M6}_{ij} = \left( {\overset{\_}{r\quad o\quad t}\left( \theta_{j} \right)} \right)_{\phi_{1}}$

where {right arrow over (φ)}_(i) is the usual basis of the Raviart-Thomas space; θi is the basis of the trianglewise affine functions; ψi is the basis of the trianglewise constant functions; A a point belonging to the surface Γ of said body; {right arrow over (z)}(A) is a vector with unit norm, normal to the surface of said body at the point A, and oriented outward.
 6. The electromagnetic simulation algorithm as claimed in one of the preceding claims, characterized in that the iterative algorithm used is a fast algorithm, of the multilevel multipole method type.
 7. The electromagnetic simulation algorithm according to one of claims 1 to 5, characterized in that the iterative algorithm used is a fast algorithm, of the adaptive integral method method type.
 8. The electromagnetic simulation algorithm as claimed in one of the preceding claims, characterized in that the body is an antenna for which one seeks to determine an optimal shape, by using the simulation algorithm in an antenna design tool.
 9. The electromagnetic simulation algorithm as claimed in one of claims 1 to 7, characterized in that the body is an object of known shape for which one seeks to determine the radar cross section (RCS). 